﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using MySql.Data;

namespace Application_erabliere.Classes_de_données
{
    public class client
    {
        /* 
         * Utilisation d'un new lorsque l'on veux créer un nouveau client. 
         * Sinon, utiliser les méthode static pour sélectionner un client.
         */
        private int m_ID;

        public int ID
        {
            get { return m_ID; }
        }

        private string m_Nom;

        public string Nom
        {
            get { return m_Nom; }
            set { //A completer
                m_Nom = value; }
        }

        private string m_commentaires;

        public string Commentaires
        {
            get { return m_commentaires; }
            set { 
                //A completer
                m_commentaires = value; }
        }

        #region Constructeur - Nouveau client
        /// <summary>
        /// Crée un nouveau client dans la base de données
        /// </summary>
        /// <param name="pNom">Nom du client</param>
        public client(string pNom)
        {
            try
            {
                m_ID = (int)Utilitaires.Commandehelper.RequeteSqlSimple("select count(*) from client;");
            }
            catch
            {
                MessageBox.Show("Mauvaise valeur dans le ID du novueau client");
            }
            m_Nom = pNom;    
            m_commentaires = null;
               
            Utilitaires.Commandehelper.RequeteSQL("INSERT into client (ID, Nom) VALUES ("+ ID +", "+ Nom + ");");

            

        }

        /// <summary>
        /// Crée un nouveau client dans la base de données
        /// </summary>
        /// <param name="pNom">Nom du client</param>
        /// <param name="pCommentaires">Commentaires sur le client</param>
        public client(string pNom, string pCommentaires)
        {
            try
            {
                m_ID = (int)Utilitaires.Commandehelper.RequeteSqlSimple("select count(*) from client;");
            }
            catch
            {
                MessageBox.Show("Mauvaise valeur dans le ID du novueau client");
            }
            m_Nom = pNom;
            m_commentaires = pCommentaires;

            Utilitaires.Commandehelper.RequeteSQL("INSERT into client (ID, Nom, Commentaire) VALUES (" + ID + ", " + Nom + "," + Commentaires+");");
        }

        /// <summary>
        /// Ne crée pas de client dans la base de données. Charge simplement un client vide dans un client.
        /// </summary>
        public client()
        {
            m_ID = -1;
            m_Nom = null;
            m_commentaires = null;
        }
        #endregion

        public void supprimerClient()
        {

        }
    }
}
